草庐IT

c++ - 模板 typedef c++0x

全部标签

c++ - 并发空间上很酷的开源项目?

我正在C和C++并发编程空间中寻找很酷的开源项目,这些项目需要积极的开发人员贡献。我是领域中立的,但会更喜欢数学/统计相关领域的东西。任何提醒的人? 最佳答案 提升C++库集合我建议看一下boostC++librarycollection.有几个处理并发处理的有趣库,使用这些库将极大地提高您自己的通用和跨平台C++编程技能。他们的一些libraries与并发有关。boost的好处在于它分布广泛,并且是C++0x对C++标准的更新中出现的许多变化的源头,因此每一个贡献都会产生巨大的影响。接受的并发库-Boost.Interproces

c++ - 是否应允许模板模板参数接收从先前参数解析的参数?

我在g++4.4和4.5上发现了一个奇怪的问题。我问过这个问题是因为我认为我在代码中犯了一些愚蠢的错误。原帖为here但为了发布的完整性,我将在此处重新发布有问题的代码:$cattemplatetemplate.cctemplatestructLabelTypeMap{typedefinttype_t;};templatestructHold{typedefinttype;};templateclasstypeMap>structWhatever{};templatestructNow{typedefWhatever,LabelTypeMap>concrete_t;};Now::con

c++ - 模板类容器自动转换问题

我有以下代码:#includetemplateclassfixed{public:explicitfixed(doubleval=0){operator=(val);}~fixed(){}operatordouble()const{returnv_;}doubleoperator=(constdouble&d){if(d>Wt)v_=Wt;elsev_=d;returnv_;}private:doublev_;};intmain(){fixedx;std::vector>v(5);//std::vector>v(5,0);//fixedy;//v[0]=0;x=x*v[0];}在VS2

c++ - C/C++ 将二进制数据映射到结构成员

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。比方说,我有以下文本文件:list1:Endianess=littleAddressModel=32typedefstruct{intx;inty;floatf;doubled;}A;instance1:0x0000000100000002000048C19A99999999993C40instance2:0x00100257000000090000000FBA99359976992397其中i

c++ - 在 MSVC 中导出模板真的有用吗?

当您在MSVC的公共(public)接口(interface)中创建包含模板化数据成员的结构时,您将在编译时收到警告。一种解决方案是在您的DLL中导出模板化类型(参见this知识库文章)。我问这个问题是因为我不知道为什么要导出该类型?如果不导出,.hpp文件有足够的信息自行生成类型。如果它是标准库类型,并且您有2个或更多dll,每个都可能链接到标准库的不同版本,那么您现在的代码中有多个相同类型的二进制版本。重点是什么?如果实际上存在编译器认为相同的两个不同版本,情况#1可能会在运行时导致崩溃,但#2可能只是由于缺少符号而无法加载?我在这里完全偏离基地了吗?在我看来,最好的选择是忽略来自

c++ - 继承一个带有内部类的模板类,并在继承类中访问内部类

我有一个模板类“BinaryHeap”,它还在自身内部声明了一个公共(public)类“Item”。现在我想用用于元素查找的散列扩展BinaryHeap,因此继承了它。我将其称为“HashedBinaryHeap”,它应该使用与BinaryHeap相同的Item类。stub看起来像这样:templateclassBinaryHeap{public:classItem{...};...voidappendItem(constItem&item);...};templateclassHashedBinaryHeap:publicBinaryHeap{public:...voidappend

是否可以在模板项目/解决方案中多次使用项目?

我想尝试使用我们的主要骨骼项目之一(我们称其为模板项目解决方案)为VS2015和VS2017进行自定义模板。这样,我们可以使用一个模板,可以在VS2015或VS2017中使用,以根据我们的核心项目创建新项目。但是,我敢肯定,至少是第一次,我会遇到问题。因此,我想知道我是否可以在一个以上的自定义模板项目中使用Core?看答案是的,您可以在VS2015和VS2017中将核心导出为模板。实际上,您可以从现有项目/解决方案中使用不同的模板名称多次自由导出模板(只需根据您的要求每次相应地更改设置)。然后从与建筑物相同的定制模板中创建项目。还有一件事,您可能需要在不同的机器或解决方案中手动解决项目依赖项/

c++ - 如何通过继承专门化复杂模板 - C++

我似乎找不到合适的语法来特化这个模板:templateclassTSin:publicBasicTween{...我想保留作为模板参数,但特化所有其他参数。我正在尝试这样:templateclassTSin{...这会产生错误。有人可以提供正确的语法来专门化模板和实例化专门版本的语法吗? 最佳答案 我认为您的代码应该如下所示:http://ideone.com/cvGy3您需要为类实例化定义所有类型。 关于c++-如何通过继承专门化复杂模板-C++,我们在StackOverflow上找到

c++ - 模板隐式转换

代码:templateclassMyClass{public:MyClass(constMyClass&other){//Explicit,typesmustbothmatch;}templateMyClass(constMyClass&other){//Implicit,typescancopyacrossifassignable.//Isthereawaytomakethisautomaticallyhappenformemberwise//copyingwithouthavingtodefinethecontentsofthisfunction?this->value=other

c++ - 模板 - 巨大的目标文件导致链接器崩溃

我有一个广泛使用模板的源文件。我还在那个文件中有不同模板的显式实例化......其中有很多。该文件被编译为静态库的一部分。我编译这个多平台上的库\多体系结构:Winx86,Linuxx86和LinuxARM。对于Linux构建,我使用不同的编译器所以生成的文件(我在这里谈论的是ELF文件的上下文本身)不同:对于GCC,生成的目标文件大小为8.4MB并且有超过40000个ELF部分;ARM编译器(armcc)生成的文件大小为12.7MB,包含超过90000个ELF部分(!);在这两种情况下,我都有调试信息。发生的事情是,在链接时,ARM链接器阻塞并死于尝试在静态库中链接那个巨大的目标文件